home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
standard
/
disassembler.z
/
disassembler
Wrap
Text File
|
1998-10-30
|
4KB
|
67 lines
DDDDIIIISSSSAAAASSSSSSSSEEEEMMMMBBBBLLLLEEEERRRR((((3333XXXX)))) DDDDIIIISSSSAAAASSSSSSSSEEEEMMMMBBBBLLLLEEEERRRR((((3333XXXX))))
NNNNAAAAMMMMEEEE
disassembler - disassemble a MIPS instruction and print the results
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
iiiinnnntttt ddddiiiissssaaaasssssssseeeemmmmbbbblllleeeerrrr ((((iiiiaaaaddddrrrr,,,, rrrreeeeggggssssttttyyyylllleeee,,,, ggggeeeetttt____ssssyyyymmmmnnnnaaaammmmeeee,,,, ggggeeeetttt____rrrreeeeggggvvvvaaaalllluuuueeee,,,,
ggggeeeetttt____bbbbyyyytttteeeessss,,,, pppprrrriiiinnnntttt____hhhheeeeaaaaddddeeeerrrr))))
uuuunnnnssssiiiiggggnnnneeeedddd iiiiaaaaddddrrrr;;;;
iiiinnnntttt rrrreeeeggggssssttttyyyylllleeee;;;;
cccchhhhaaaarrrr ****((((****ggggeeeetttt____ssssyyyymmmmnnnnaaaammmmeeee))))(((())));;;;
iiiinnnntttt ((((****ggggeeeetttt____rrrreeeeggggvvvvaaaalllluuuueeee))))(((())));;;;
lllloooonnnngggg ((((****ggggeeeetttt____bbbbyyyytttteeeessss))))(((())));;;;
vvvvooooiiiidddd ((((****pppprrrriiiinnnntttt____hhhheeeeaaaaddddeeeerrrr))))(((())));;;;
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
_D_i_s_a_s_s_e_m_b_l_e_r disassembles and prints a MIPS machine instruction on
_s_t_d_o_u_t.
_I_a_d_r is the instruction address to be disassembled. _R_e_g_s_t_y_l_e specifies
how registers are named in the disassembly; if the value is 0, compiler
names are used; otherwise, hardware names are used.
The next four arguments are function pointers, most of which give the
caller some flexibility in the appearance of the disassembly. The only
function that MMMMUUUUSSSSTTTT be provided is _g_e_t__b_y_t_e_s. All other functions are
optional. _G_e_t__b_y_t_e_s is called with no arguments and returns the next
byte(s) to disassemble.
_G_e_t__s_y_m_n_a_m_e is passed an address, which is the target of a _j_a_l
instruction. If NNNNUUUULLLLLLLL is returned or if _g_e_t__s_y_m_n_a_m_e is NNNNUUUULLLLLLLL, the
_d_i_s_a_s_s_e_m_b_l_e_r prints the address; otherwise, the string name is printed as
returned from _g_e_t__s_y_m_n_a_m_e. If _g_e_t__r_e_g_v_a_l_u_e is not NNNNUUUULLLLLLLL, it is passed a
register number and returns the current contents of the specified
register. _D_i_s_a_s_s_e_m_b_l_e_r prints this information along with the
instruction disassembly. If _p_r_i_n_t__h_e_a_d_e_r is not NNNNUUUULLLLLLLL, it is passed the
instruction address _i_a_d_r and the current instruction to be disassembled,
which is the return value from _g_e_t__b_y_t_e_s. _P_r_i_n_t__h_e_a_d_e_r can use these
parameters to print any desired information before the actual instruction
disassembly is printed.
If _g_e_t__b_y_t_e_s is NNNNUUUULLLLLLLL,,,, the _d_i_s_a_s_s_e_m_b_l_e_r returns -1 and errno is set to
EEEEIIIINNNNVVVVAAAALLLL;;;; otherwise, the number of bytes that were disassembled is
returned. If the disassembled word is a jump or branch instruction, the
instruction in the delay slot is also disassembled.
The program must be loaded with the object file access routine library
lllliiiibbbbeeeellllffffuuuuttttiiiillll....aaaa.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
ldfcn(4).
PPPPaaaaggggeeee 1111